home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / ERRQUEUE.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  733b  |  43 lines

  1. #ifndef _LINUX_ERRQUEUE_H
  2. #define _LINUX_ERRQUEUE_H 1
  3.  
  4. #include <linux/config.h>
  5.  
  6. struct sock_extended_err
  7. {
  8.     __u32    ee_errno;    
  9.     __u8    ee_origin;
  10.     __u8    ee_type;
  11.     __u8    ee_code;
  12.     __u8    ee_pad;
  13.     __u32   ee_info;
  14.     __u32   ee_data;
  15. };
  16.  
  17. #define SO_EE_ORIGIN_NONE    0
  18. #define SO_EE_ORIGIN_LOCAL    1
  19. #define SO_EE_ORIGIN_ICMP    2
  20. #define SO_EE_ORIGIN_ICMP6    3
  21.  
  22. #define SO_EE_OFFENDER(ee)    ((struct sockaddr*)((ee)+1))
  23.  
  24. #ifdef __KERNEL__
  25. #define SKB_EXT_ERR(skb) ((struct sock_exterr_skb *) ((skb)->cb))
  26.  
  27. struct sock_exterr_skb
  28. {
  29.     union {
  30.         struct inet_skb_parm    h4;
  31. #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
  32.         struct inet6_skb_parm    h6;
  33. #endif
  34.     } header;
  35.     struct sock_extended_err    ee;
  36.     u16                addr_offset;
  37.     u16                port;
  38. };
  39.  
  40. #endif
  41.  
  42. #endif
  43.